home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / utility / utilcli / abortpkt.lzh / AbortPkt / jumptable.h < prev    next >
C/C++ Source or Header  |  1996-11-06  |  707b  |  34 lines

  1. /* jumptable.h */
  2.  
  3. #define ASM __asm __saveds
  4.  
  5. #define DEC_LVO(name) extern LVO## name
  6. #define DEC_ASM(name) extern name## Stub
  7. #define DEC_OLD(name) LONG (*ASM name## O) ()
  8. #define DEC_NEW(name) LONG ASM name## R ()
  9. #define DECLARE_PATCH(name) DEC_OLD(name); DEC_NEW(name); DEC_LVO(name); DEC_ASM(name);
  10.  
  11. struct LVOTable
  12. {
  13.     LONG lt_LVO;
  14.     struct Library *lt_LibBase;
  15.     ULONG lt_oldFunction;
  16.     ULONG lt_newFunction;
  17. };
  18.  
  19. #define NUMBEROFFUNCTIONS 1
  20.  
  21. struct JumpTable
  22. {
  23.     struct SignalSemaphore jt_Semaphore;
  24.     UWORD pad_word;
  25.     struct Task *jt_Owner;
  26.     UBYTE jt_Function[NUMBEROFFUNCTIONS * 6];
  27. };
  28.  
  29. /* Prototypes */
  30.  
  31. char *InstallWedge (VOID);
  32. BOOL RemoveWedge (VOID);
  33. struct JumpTable *GetJumpTable (UBYTE *name);
  34.